home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Computer Select (Limited Edition)
/
Computer Select.iso
/
pcmag
/
v11n09
/
spcchk.exe
/
SPCCHK.SPR
< prev
next >
Wrap
Text File
|
1992-01-26
|
8KB
|
259 lines
* ╓─────────────────────────────────────────────────────────╖
* ║ ║
* ║ 01/26/92 SPCCHK.SPR 13:57:08 ║
* ║ ║
* ╟─────────────────────────────────────────────────────────╢
* ║ ║
* ║ Author's Name ║
* ║ ║
* ║ Copyright (c) 1992 Company Name ║
* ║ Address ║
* ║ City, Zip ║
* ║ ║
* ║ Description: ║
* ║ This program was automatically generated by GENSCRN. ║
* ║ ║
* ╙─────────────────────────────────────────────────────────╜
#REGION 0
REGIONAL m.currarea, m.talkstat, m.compstat
IF SET("TALK") = "ON"
SET TALK OFF
m.talkstat = "ON"
ELSE
m.talkstat = "OFF"
ENDIF
m.compstat = SET("COMPATIBLE")
SET COMPATIBLE FOXPLUS
m.currarea = SELECT()
* ╓─────────────────────────────────────────────────────────╖
* ║ ║
* ║ Window definitions ║
* ║ ║
* ╙─────────────────────────────────────────────────────────╜
*
IF NOT WEXIST("spcchk")
DEFINE WINDOW spcchk ;
FROM INT((SROW()-9)/2),INT((SCOL()-48)/2) ;
TO INT((SROW()-9)/2)+8,INT((SCOL()-48)/2)+47 ;
TITLE "Field Space Usage Calculator" ;
FLOAT ;
CLOSE ;
SHADOW ;
MINIMIZE ;
SYSTEM ;
COLOR SCHEME 8
ENDIF
* ╓─────────────────────────────────────────────────────────╖
* ║ ║
* ║ SPCCHK Setup Code - SECTION 2 ║
* ║ ║
* ╙─────────────────────────────────────────────────────────╜
*
#REGION 1
PUBLIC oldesc, oldecho, oldtalk, tindex
SET SYSMENU AUTOMATIC
tindex = "" && temporary index filename
oldesc = SET("ESCAPE")
SET ESCAPE OFF
oldecho = SET("ECHO")
SET ECHO OFF
oldtalk = SET("TALK")
SET TALK OFF
ON ERROR DO Shutdown WITH ;
ERROR(), MESSAGE(), MESSAGE(1), PROGRAM(), LINENO(), tindex
*
* Do this for screen shot
*
IF SROWS() < 26 .AND. SCOLS() < 81
CLEAR
SET COLOR TO W+/N
pcmag="PC Magazine Databases PC Magaz"+;
"ine Databases PC Magazine Data"+;
"bases PC Magazine "
single = CHR(218)+CHR(196)+CHR(191)+;
CHR(179)+CHR(217)+CHR(196)+CHR(192)+;
CHR(179)
@ 1, 0, 24, 79 BOX single+"x"
i = 2
DO WHILE i <=23
@ i,1 SAY pcmag
i = i + 1
ENDDO
ENDIF
IF "" = ALIAS()
fln = GETFILE("DBF","Select the file to space check:")
IF "" = fln
CLEAR
RETURN
ELSE
USE (fln)
ENDIF
ENDIF
okbutton = "Check Usage"
fldvar = 1 && initialize to zero
fldcount = AFIELDS(fldlist)
*
* Remove non-character fields from the array
* and redimension the array
*
X = 1
DO WHILE X <= fldcount
IF fldlist(X,2) <> "C"
=ADEL(fldlist,X)
fldcount = fldcount - 1
ELSE
X = X + 1
ENDIF
ENDDO
DECLARE fldlist[fldcount,4] && redimension
* ╓─────────────────────────────────────────────────────────╖
* ║ ║
* ║ SPCCHK Screen Layout ║
* ║ ║
* ╙─────────────────────────────────────────────────────────╜
*
#REGION 1
IF WVISIBLE("spcchk")
ACTIVATE WINDOW spcchk SAME
ELSE
ACTIVATE WINDOW spcchk NOSHOW
ENDIF
@ 1,24 GET fldvar ;
PICTURE "@^" ;
FROM fldlist ;
SIZE 3,13 ;
DEFAULT 1 ;
COLOR SCHEME 8, 9
@ 2,8 SAY "Field to check:" ;
COLOR BG+/BG
@ 5,9 GET okbutton ;
PICTURE "@*HN Check \<Usage;\?\<Cancel" ;
SIZE 1,13,1 ;
DEFAULT 1 ;
VALID _q2m0twlji()
IF NOT WVISIBLE("spcchk")
ACTIVATE WINDOW spcchk
ENDIF
READ CYCLE
RELEASE WINDOW spcchk
SELECT (m.currarea)
#REGION 0
IF m.talkstat = "ON"
SET TALK ON
ENDIF
IF m.compstat = "ON"
SET COMPATIBLE ON
ENDIF
* ╓─────────────────────────────────────────────────────────╖
* ║ ║
* ║ SPCCHK Cleanup Code ║
* ║ ║
* ╙─────────────────────────────────────────────────────────╜
*
#REGION 1
SET ESCAPE &oldesc
SET TALK &oldtalk
SET ECHO &oldecho
CLEAR
***********************************************************
* PROCEDURE Shutdown - Called by ON ERROR
*
* This is an abbreviated error handler that just closes
* everything and cancels, displaying some messages...
*
***********************************************************
PROCEDURE Shutdown
PARAMETER merror, mess, mess1, mprog, mlineno, tfile
CLOSE INDEX
CLOSE DATABASES
FLUSH
RELEASE WINDOW spcchk
CLEAR
?
? 'Error number: ' + LTRIM(STR(merror))
? 'Error message: ' + mess
? 'Line of code with error: ' + mess1
? 'Line number of error: ' + LTRIM(STR(mlineno))
? 'Program with error: ' + mprog
*
* IF FILE(tfile + ".IDX")
* DELETE FILE (tfile + ".IDX")
* ENDIF
CANCEL
RETURN
* ╓─────────────────────────────────────────────────────────╖
* ║ ║
* ║ _Q2M0TWLJI okbutton VALID ║
* ║ ║
* ║ Function Origin: ║
* ║ ║
* ║ From Screen: SPCCHK, Record Number: 4 ║
* ║ Variable: okbutton ║
* ║ Called By: VALID Clause ║
* ║ Object Type: Push Button ║
* ║ Snippet Number: 1 ║
* ║ ║
* ╙─────────────────────────────────────────────────────────╜
*
FUNCTION _q2m0twlji && okbutton VALID
#REGION 1
DO CASE
CASE okbutton = "Check Usage"
oldord = ORDER()
tindex = SYS(3) && temporary file name
fldname = fldlist(fldvar,1)
fldwidth = fldlist(fldvar,3)
WAIT WINDOW "Working..." NOWAIT
INDEX ON LEN(ALLTRIM(&fldname)) TO (tindex) COMPACT
GO BOTTOM
maxwid = LEN(ALLTRIM(&fldname))
msgnum = ALLTRIM(TRANSFORM(maxwid,"999,999"))
msg = "Maximum usage is " + msgnum + " bytes out of " + ;
ALLTRIM(TRANSFORM(fldwidth,"999,999")) + ". "
msgnum = ALLTRIM(TRANSFORM(RECCOUNT()*(fldwidth-maxwid),"9,999,999,999"))
msg = msg + "Savings potential is " + msgnum + " bytes."
WAIT msg WINDOW
SET INDEX TO
IF "" <> oldord
SET INDEX TO (oldord)
ENDIF
DELETE FILE (tindex+".idx")
_CUROBJ = 1 && go back to fields popup
OTHERWISE
CLEAR READ
ENDCASE
RETURN